
import { hasRouteAuth } from '@/utils/permission';

export default {
  data() {
    return {};
  },
  methods: {
    hasRouteAuth,
    mergeShow() {
      if (this.$refs.mergeListRef) this.$refs.mergeListRef.dialogShow(this.activeTabs);
    },
    async exportBeforeExport() {
      const uploadId = this.createUploadId();

      const params = await this.getFilterParams();
      params.uploadId = uploadId;
      if (this.$refs.ImportNExport) {
        this.$refs.ImportNExport.btnExport(params, 'listExport');
      }
    },
    async exportExcelShow() {
      const params = await this.getFilterParams();
      if (this.$refs.exportExcelMaskRef) this.$refs.exportExcelMaskRef.tabMaskShow(params);
    },
    // 生成上传唯一标识，用于获取进度
    createUploadId() {
      const userId = this.userInfo.id;
      const timestamp = (new Date()).valueOf();
      return `${userId}${timestamp}`;
    },
    findPlatformId(name) {
      const text = name.indexOf('直播') >= 0 ? '直播' : name;
      const item = this.tabs.find(i => i.label === text);
      return item ? item.key : 5;
    },
    goUpload() {
      this.$router.push({
        name: 'resourceupload',
        query: { type: '1' }
      });
    }
    // hasEditAuth(itemData) {
    //   /** 规则
    //    * 前提：必须拥有 创建信息（medium:dataEdit:createInfo） 权限
    //    * 1、如果拥有全向编辑权限，则都可以编辑
    //    * 2、如果拥有部门编辑权限，则自己当前部门的资源编辑
    //    * 3、如果拥有普通编辑权限，只有当自己存在于执行人列表时才可以编辑
    //    * 4、拥有顶级部门编辑可以编辑，则顶级部门相同都能编辑
    //    */
    //   if (this.userInfo.userName === '管理员') return true;
    //   return this.hasRouteAuth('medium:dataEdit:createInfo') && (this.isOperation(itemData) || this.isDepartmentEdit(itemData));
    // },
    // isOperation(itemData) { // 本人是否是执行人
    //   const userId = this.userInfo.id;
    //   const accountOperation = itemData.accountOperation || [];
    //   const accountOperationIds = accountOperation.map(i => i.id);
    //   return accountOperationIds.includes(userId);
    // },
    // isDepartmentEdit(itemData) { // 是否拥有全向权限
    //   if (this.hasRouteAuth('medium:dataEdit:admin')) return true; // 拥有全向权限则全部可以编辑

    //   if (this.hasRouteAuth('medium:resource:departmentEdit') || this.hasRouteAuth('medium:dataEdit:department')) {
    //     const departmentId = itemData.attributionMatrix;
    //     const cooperationDepartmentIds = itemData.cooperationDepartment.map(i => i.id); // 协作部门id
    //     const currentDeptIds = this.userInfo.currentDeptIds || []; // 当前部门的所有id，比如：用户部门是 研发部->产品组，那么当前部门就是产品组
    //     const topDeptIds = this.userInfo.topDeptIds || []; // 顶级部门的id列表，比如：用户部门是 研发部->产品组，那么顶级部门就是研发部

    //     let ids = currentDeptIds;
    //     // 拥有顶级部门编辑权限，就把顶级部门的id加入判断
    //     if (this.hasRouteAuth('medium:resource:departmentEdit')) {
    //       ids = ids.concat(topDeptIds);
    //     }
    //     const hasCooperationDepartment = ids.some(i => {
    //       return cooperationDepartmentIds.includes(i);
    //     });
    //     return ids.includes(departmentId) || hasCooperationDepartment;
    //   }
    //   return false;
    // }
  }
};
